<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . 
Use, modification and distribution is subject to the Boost Software
License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../boost.css">
<link rel="stylesheet" type="text/css" href="style.css">
<title>Serialization - History</title>
</head>
<body link="#0000ff" vlink="#800080">
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
  <tr> 
    <td valign="top" width="300"> 
      <h3><a href="../../../index.htm"><img height="86" width="277" alt="C++ Boost" src="../../../boost.png" border="0"></a></h3>
    </td>
    <td valign="top"> 
      <h1 align="center">Serialization</h1>
      <h2 align="center">History</h2>
    </td>
  </tr>
</table>
<hr>
<ol>
  <li>26 Feb 2002 initial version uploaded to boost
  <li>27 Feb 2002
    <ul>
      <li>divide interface from implementation for class 
          serialization to permit compilation on gcc
      <li>improved template instantantation for type templates
    </ul>
  <li>18 Mar 2002 - draft #2 uploaded to boost
    <ul>
      <li>elminated locale effects on archives
      <li>added signature and library version to archive header
      <li>improved detection of errors when objects are serialized 
          as pointers and subsequently serialized as objects
      <li>permit non-portable binary archives
      <li>implement workaround for systems such as MSVC 6.0 that
          don't support partial ordering
    </ul>
  <li>16 May 2002 - draft #3 uploaded to boost
    <ul>
      <li>Ability to specify serialization of other templates in a
          non-intrusive way.
      <li>Included an example which uses boost::shared_ptr.
      <li>improved documentation
      <li>More test cases
      <li>More testing and documentation of obscure situtations
      <li>Better code organization for transparency
      <li>Wide character support implemented and tested with unicode.
    </ul>
  <li>28 Jun 2002 - #4 library submission
    <ul>
      <li>minor corrections
      <li>replaced erroneous shared_ptr example with std::auto_ptr example
      <li>prevention of memory leaks when exceptions are invoked
    </ul>
  <li>30 Aug 2002 - #5 library submission
    <ul>
      <li>minor corrections
      <li>Additions to documentation to explicitly address issues of
          exception safety.
      <li>More test cases/demos to illustrate handling of the above issues.
      <li>Additions to documentation to include rationale for not depending
          on type_id
      <li>Implementation of serialization of boost::shared_ptr.
          This is included as a demo as it depends upon a minor alteration
          of boost::shared_count.
    </ul>
  <li>08 Nov 2002   - #6 library submission
    <ul>
      <li>minor corrections
      <li>corrected error which manifested itself when serializing
          polymorphic pointers to obects derived from multiple
          base classes
      <li>minor adjustments to support plug-ins via virtual
          save/load/version functions
      <li>test cases to support the above
    </ul>
  <li>08 September 2003- version # 12 library submission
    <ul>
      <li>attempts to address all issues raised during the November 2002 review
    </ul>
  <li>November 2003 - draft #13 uploaded
    <ul>
      <li>corrections, enhancements, change in api for pointer overload
    </ul>
  <li>28 December 2003
    <ul>
       <li>implementation of save/loadbinary
       <li>enhancements included archives to permit derivation
    </ul>
  <li>1 March 2004 - draft # 17 upload
    <ul>
       <li>portability to intel 8.0, and VC 6.0
       <li>Alter archive implementation to permit derivation.  Make tests.
       <li>Implement serialize/save/load binary for text and XML archives
       using <code>base64</code> character encoding.
       <li>Added documentation and test for serialization of large binary objects.
       <li>Added "Derivation from an Existing Archive Class" to documentation along
       with example program.
       <li>Added PIMPL example
       <li>certain special situations are now detected and addressed at
       compile time to generate all in-line code.  For example, for types
       serialized without class information, and without memory tracking,
       the serialization process can be reduced to a minimal amount of inline
       code.
       <li>All tests have been run in release as well as debug mode
       <li>Many improvements in code and documentation to improve accuracy and completeness.
    </ul>
  <li>11 April 2004 - draft # 18 upload
    <ul>
       <li>Reorganization of header and template files.
       <li>Enhanced documentation to help explain implementation issues.
       <li>Adjustments to improve support for less conformant compilers.
       <li>A few bug fixes.
    </ul>
  <li>31 May 2004 - draft # 20 upload
    <ul>
       <li>Polymorphic archives.
       <li>A few bug fixes.
    </ul>
  <li>1 November 2004 - final changes for first boost official release 1.32 .
    <ul>
       <li>Adjustments to address package compatible with two-phase lookup.
       <li>Many small adjustments to accommodate quirks of various compilers.
       <li>A few bug fixes.
    </ul>
</ol>
<hr>
<p><i>&copy; Copyright <a href="http://www.rrsd.com">Robert Ramey</a> 2002-2004. 
Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
</i></p>
</body>
</html>
